lib/repo-pull: Improve error message when no summary is found
authorMatthew Leeds <matthew.leeds@endlessm.com>
Thu, 29 Mar 2018 07:03:43 +0000 (00:03 -0700)
committerAtomic Bot <atomic-devel@projectatomic.io>
Mon, 2 Apr 2018 22:40:37 +0000 (22:40 +0000)
In ostree_repo_remote_fetch_summary_with_options(), if no summary is
found on the server and summary verification is enabled, the error
message implies that it's the summary signature that's missing, which is
misleading. This commit adds a more specific error message for the case
of a missing summary, which has the side effect of explicitly checking
for the case that signatures != NULL && summary == NULL after
repo_remote_fetch_summary(), even though that should never happen.

One effect of this is that if you run "flatpak remote-add" with an
incorrect URL you get a more helpful error message, and similarly for
other flatpak operations and other users of ostree.

Closes: #1522
Approved by: cgwalters

src/libostree/ostree-repo-pull.c

index 1205025e3925246ebca0985dc950dfc14f053eb1..37659459a389ba277f28790064fd1ce6eb3f7cde 100644 (file)
@@ -5784,6 +5784,13 @@ ostree_repo_remote_fetch_summary_with_options (OstreeRepo    *self,
   if (!ostree_repo_remote_get_gpg_verify_summary (self, name, &gpg_verify_summary, error))
     goto out;
 
+  if (gpg_verify_summary && summary == NULL)
+    {
+      g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
+                   "GPG verification enabled, but no summary found (check that the configured URL in remote config is correct)");
+      goto out;
+    }
+
   if (gpg_verify_summary && signatures == NULL)
     {
       g_set_error (error, OSTREE_GPG_ERROR, OSTREE_GPG_ERROR_NO_SIGNATURE,